def shoelace_area(points):
    """
    使用高斯鞋带公式（Shoelace Formula）计算多边形面积。

    参数:
        points: 一个列表，包含多边形的各个顶点坐标。每个顶点是一个表示(x, y)坐标的元组或列表。
                例如: [(x1, y1), (x2, y2), ..., (xn, yn)]
                点的顺序可以是顺时针或逆时针，但必须连续。

    返回:
        area: 多边形面积（浮点数，绝对值确保面积为正）。
    """
    n = len(points)  # 获取点的数量
    area = 0.0  # 初始化有向面积，用于累加

    # 遍历所有顶点进行交叉相乘
    for i in range(n):
        # 获取当前顶点 i 的坐标
        x_i, y_i = points[i]
        # 获取下一个顶点 (i+1) 的坐标。通过取模运算确保最后一个点之后连接回第一个点（循环）
        x_j, y_j = points[(i + 1) % n]

        # 应用鞋带公式的核心部分：累加 (x_i * y_j - x_j * y_i)
        area += (x_i * y_j) - (x_j * y_i)

    # 返回面积的绝对值除以2（鞋带公式要求取绝对值并除以2得到实际面积）
    return abs(area) / 2.0
